<template>
  <div class="componentsA">
    <P class="title">组件A</P>
    <P class="titleName">餐馆名称：{{ name }}</P>
    <div>
      <!-- 点击修改 为 A 餐馆 -->
      <button class="btn" @click="modifyAName('A餐馆')">修改为A餐馆</button>
    </div>
  </div>
</template>
 
<script>
// import {mapActions, mapGetters} from 'vuex'
import { mapActions, mapState } from "vuex";
import { MUTATION_TYPE } from "../common/constants";
export default {
  name: "A",
  data() {
    return {};
  },
  methods: {
    ...mapActions(
      // 语法糖
      [MUTATION_TYPE.MODIFY_A_NAME] // 相当于this.$store.dispatch('modifyName'),提交这个方法
    ),
  },
  computed: {
    ...mapState(["name"]), // 如果只是简单的使用name的值，就可以直接使用 mapState；如果需要对name的值进行数据操作，就应该使用动态计算属性
    //   ...mapGetters(['name']) // 动态计算属性，相当于this.$store.getters.resturantName
  },
};
</script>
 
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
.title,
.titleName {
  color: blue;
  font-size: 20px;
}
.btn {
  width: 160px;
  height: 40px;
  background-color: blue;
  border: none;
  outline: none;
  color: #ffffff;
  border-radius: 4px;
}
.marTop {
  margin-top: 20px;
}
</style>